<!DOCTYPE html>
<html lang='zh-CN'>

<head>
  <meta name="generator" content="Hexo 6.1.0">
  <meta charset="utf-8">
  <meta name="robots" content="none">

  <meta http-equiv='x-dns-prefetch-control' content='on' />
  <link rel='dns-prefetch' href='https://cdn.jsdelivr.net'>
  <link rel="preconnect" href="https://cdn.jsdelivr.net" crossorigin>

  <meta name="renderer" content="webkit">
  <meta name="force-rendering" content="webkit">
  <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
  <meta name="HandheldFriendly" content="True" >
  <meta name="apple-mobile-web-app-capable" content="yes">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <meta name="theme-color" content="#f8f8f8">
  <title>Yann’s blog</title>

  
    <meta name="description" content="欢迎大家">
<meta property="og:type" content="website">
<meta property="og:title" content="Yann’s blog">
<meta property="og:url" content="https://hiyann.gitee.io/404.html">
<meta property="og:site_name" content="Yann’s blog">
<meta property="og:description" content="欢迎大家">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="Yann">
<meta name="twitter:card" content="summary">
  
  

  <!-- feed -->
  

  
    
<link rel="stylesheet" href="/css/main.css">

  

  
    <link rel="shortcut icon" href="https://www.helloimg.com/images/2022/08/14/ZNfu3D.jpg">
  

  
</head>

<body>
  


  <div class='l_body' id='start'>
    <aside class='l_left' layout='404'>
    


<header class="header">

<div class="logo-wrap"><a class="avatar" href="/about/"><div class="bg" style="opacity:0;background-image:url(https://cdn.jsdelivr.net/gh/cdn-x/placeholder@1.0.2/avatar/round/rainbow64@3x.webp);"></div><img no-lazy class="avatar" src="https://www.helloimg.com/images/2022/08/14/ZNfu3D.jpg" onerror="javascript:this.classList.add('error');this.src='https://cdn.jsdelivr.net/gh/cdn-x/placeholder@1.0.1/image/2659360.svg';"></a><a class="title" href="/"><div class="main">Yann’s blog</div><div class="sub normal cap">记录知识，分享生活</div><div class="sub hover cap" style="opacity:0">hiyann.gitee.io</div></a></div>
<nav class="menu dis-select"><a class="nav-item" href="/">文章</a><a class="nav-item" href="/about/">关于</a></nav></header>

<div class="widgets">
<div class="widget-wrap" id="markdown"><div class="widget-header cap dis-select"><span class="name">欢迎光临小站</span></div><div class="widget-body fs14"><p>这是一个世界边缘的佛系小站，建于21世纪初，长期维护并保持低频更新。</p>
<hr><br>
<iframe width="255" height="30" frameborder="0" scrolling="no" hspace="0" src="https://i.tianqi.com/?c=code&a=getcode&id=34&py=ningbo&icon=1"></iframe>
</div></div>

<div class="widget-wrap" id="recent"><div class="widget-header cap dis-select"><span class="name">最近更新</span></div><div class="widget-body fs14"><div class="line"></div><a class="more-item" href="/2022/01/14/others/2021%E5%B9%B4%E4%B8%AA%E4%BA%BA%E6%80%BB%E7%BB%93/"><div class="cap"><time>2022-08-15</time><span>年度总结</span></div><span class="title">2021年度个人总结</span></a><div class="line"></div><a class="more-item" href="/2022/02/14/photos/photo1/"><div class="cap"><time>2022-08-14</time><span>照片留念</span></div><span class="title">影像—植物园溜达</span></a><div class="line"></div><a class="more-item" href="/2022/03/29/france/fr1/"><div class="cap"><time>2022-08-14</time><span>法语</span></div><span class="title">法语学习记录</span></a></div></div>
</div>
<footer class="footer dis-select"><div class="social-wrap"><a class="social" href="https://github.com/" target="_blank" rel="external nofollow noopener noreferrer"><img class="lazy" src="" data-src="photos/5.png"></a><a class="social" href="https://gitee.com/" target="_blank" rel="external nofollow noopener noreferrer"><img class="lazy" src="" data-src="photos/6.png"></a><a class="social" href="https://music.163.com/" target="_blank" rel="external nofollow noopener noreferrer"><img class="lazy" src="" data-src="photos/9.ico"></a><a class="social" href="https://www.bilibili.com/" target="_blank" rel="external nofollow noopener noreferrer"><img class="lazy" src="" data-src="photos/7.ico"></a><a class="social" href="https://weibo.com/" target="_blank" rel="external nofollow noopener noreferrer"><img class="lazy" src="" data-src="photos/8.ico"></a><a class="social" href="https://www.zhihu.com/explore" target="_blank" rel="external nofollow noopener noreferrer"><img class="lazy" src="" data-src="photos/10.ico"></a></div></footer>

    </aside>
    <div class='l_main list'>
      

      
<article class='md error-page'>
  <h1><img id='error' src='https://cdn.jsdelivr.net/gh/cdn-x/placeholder@1.0.1/404/1c830bfcd517d.svg' alt='404'></h1>
  <p class='what'>
    <strong>
      很抱歉，您访问的页面不存在
    </strong>
  </p>
  <p class='why'>
    可能是输入地址有误或该地址已被删除
  </p>
  <br><br>
  <a class='button theme' id='back' href="/">返回主页</a>
</article>


  <div class='related-wrap md reveal' id="comments">
    <div class='cmt-title cap theme'>
      
    </div>
    <div class='cmt-body beaudar'>
      

<svg class="loading" style="vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2709"><path d="M832 512c0-176-144-320-320-320V128c211.2 0 384 172.8 384 384h-64zM192 512c0 176 144 320 320 320v64C300.8 896 128 723.2 128 512h64z" p-id="2710"></path></svg>

<div id="beaudar" repo="hiyann/blog-comments" issue-term="pathname" theme="preferred-color-scheme" input-position="top" comment-order="desc" keep-theme="true" loading="false" branch="main"></div>

    </div>
  </div>



      
<footer class="page-footer reveal fs12"><hr><div class="sitemap"><div class="sitemap-group"><span class="fs14">博客</span><a href="/">近期</a><a href="/categories/">分类</a><a href="/tags/">标签</a><a href="/archives/">归档</a></div><div class="sitemap-group"><span class="fs14">实用</span><a target="_blank" rel="noopener" href="https://www.helloimg.com/">图床</a><a target="_blank" rel="noopener" href="https://www.51yuansu.com/">图库</a></div><div class="sitemap-group"><span class="fs14">友链</span><a target="_blank" rel="noopener" href="https://xaoxuu.com/wiki/stellar/">主题</a></div><div class="sitemap-group"><span class="fs14">更多</span><a href="/notes/">便笺</a></div></div><div class="text"><p>本博客所有文章除特别声明外，均采用 <a target="_blank" rel="noopener" href="https://creativecommons.org/licenses/by-nc-sa/4.0/">CC BY-NC-SA 4.0</a> 许可协议，转载请注明出处。</p>
<p>本站由 <a href="https://hiyann.gitee.io/">@Yann</a> 创建，使用 <a target="_blank" rel="noopener" href="https://github.com/xaoxuu/hexo-theme-stellar/tree/1.6.1" title="v1.6.1">Stellar</a> 作为主题。</p>
<p><img src="" data-src="https://www.helloimg.com/images/2022/08/14/ZNhPcY.png" class="lazyload loaded lazy" srcset="https://www.helloimg.com/images/2022/08/14/ZNhPcY.png" style="width:18px;height:18px;margin-bottom:-3px" data-ll-status="loaded"> 萌ICP备<a href="https://icp.gov.moe/?keyword=20210896" target="_blank"> 20210896 </a>号 <hr> <img src="" data-src="https://www.helloimg.com/images/2022/08/14/ZNh3XX.png" class="lazyload loaded lazy" srcset="https://www.helloimg.com/images/2022/08/14/ZNh3XX.png" style="width:18px;height:18px;margin-bottom:-3px" data-ll-status="loaded"> 网站已安全运行：<span id="htmer_time" style="color:black;"></span></p>
</div></footer>


<script>
  function secondToDate(second) {
      if (!second) {
          return 0;
      }
      var time = new Array(0, 0, 0, 0, 0);
      if (second >= 365 * 24 * 3600) {
          time[0] = parseInt(second / (365 * 24 * 3600));
          second %= 365 * 24 * 3600;
      }
      if (second >= 24 * 3600) {
          time[1] = parseInt(second / (24 * 3600));
          second %= 24 * 3600;
      }
      if (second >= 3600) {
          time[2] = parseInt(second / 3600);
          second %= 3600;
      }
      if (second >= 60) {
          time[3] = parseInt(second / 60);
          second %= 60;
      }
      if (second > 0) {
          time[4] = second;
      }
      return time;
  }
</script>
<script type="text/javascript" language="javascript">
  function setTime() {
      // 博客创建时间秒数，时间格式中，月比较特殊，是从0开始的，所以想要显示5月，得写4才行，如下
      var create_time = Math.round(new Date(Date.UTC(2021, 11, 23, 0, 0, 0))
              .getTime() / 1000);
      // 当前时间秒数,增加时区的差异
      var timestamp = Math.round((new Date().getTime() + 8 * 60 * 60 * 1000) / 1000);
      currentTime = secondToDate((timestamp - create_time));
      currentTimeHtml = currentTime[0] + ' 年 ' + currentTime[1] + ' 天 '
              + currentTime[2] + ' 时 ' + currentTime[3] + ' 分 ' + currentTime[4]
              + ' 秒 ';
      document.getElementById("htmer_time").innerHTML = currentTimeHtml;
  }
  setInterval(setTime, 1000);
</script>
      <div class='float-panel mobile-only blur' style='display:none'>
  <button type='button' class='sidebar-toggle mobile' onclick='sidebar.toggle()'>
    <svg class="icon" style="width: 1em; height: 1em;vertical-align: middle;fill: currentColor;overflow: hidden;" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15301"><path d="M566.407 808.3c26.9-0.1 49.3-20.8 51.6-47.6-1.9-27.7-23.9-49.7-51.6-51.6h-412.6c-28.2-1.4-52.6 19.5-55.5 47.6 2.3 26.8 24.6 47.5 51.6 47.6h416.5v4z m309.3-249.9c26.9-0.1 49.3-20.8 51.6-47.6-2.2-26.8-24.6-47.5-51.6-47.6h-721.9c-27.7-2.8-52.5 17.4-55.3 45.1-0.1 0.8-0.1 1.7-0.2 2.5 0.9 27.2 23.6 48.5 50.7 47.6H875.707z m-103.1-245.9c26.9-0.1 49.3-20.8 51.6-47.6-0.4-28.3-23.2-51.1-51.5-51.6h-618.9c-29.5-1.1-54.3 21.9-55.5 51.4v0.2c1.4 27.8 25.2 49.2 53 47.8 0.8 0 1.7-0.1 2.5-0.2h618.8z" p-id="15302"></path><path d="M566.407 808.3c26.9-0.1 49.3-20.8 51.6-47.6-1.9-27.7-23.9-49.7-51.6-51.6h-412.6c-28.2-1.4-52.6 19.5-55.5 47.6 1.9 27.7 23.9 49.7 51.6 51.6h416.5z m309.3-249.9c26.9-0.1 49.3-20.8 51.6-47.6-2.2-26.8-24.6-47.5-51.6-47.6h-721.9c-27.7-2.8-52.5 17.4-55.3 45.1-0.1 0.8-0.1 1.7-0.2 2.5 0.9 27.2 23.6 48.5 50.7 47.6H875.707z m-103.1-245.9c26.9-0.1 49.3-20.8 51.6-47.6-0.4-28.3-23.2-51.1-51.5-51.6h-618.9c-29.5-1.1-54.3 21.9-55.5 51.4v0.2c1.4 27.8 25.2 49.2 53 47.8 0.8 0 1.7-0.1 2.5-0.2h618.8z" p-id="15303"></path></svg>
  </button>
</div>

    </div>
  </div>
  <div class='scripts'>
    <script type="text/javascript">
  stellar = {
    // 懒加载 css https://github.com/filamentgroup/loadCSS
    loadCSS: (href, before, media, attributes) => {
      var doc = window.document;
      var ss = doc.createElement("link");
      var ref;
      if (before) {
        ref = before;
      } else {
        var refs = (doc.body || doc.getElementsByTagName("head")[0]).childNodes;
        ref = refs[refs.length - 1];
      }
      var sheets = doc.styleSheets;
      if (attributes) {
        for (var attributeName in attributes) {
          if (attributes.hasOwnProperty(attributeName)) {
            ss.setAttribute(attributeName, attributes[attributeName]);
          }
        }
      }
      ss.rel = "stylesheet";
      ss.href = href;
      ss.media = "only x";
      function ready(cb) {
        if (doc.body) {
          return cb();
        }
        setTimeout(function () {
          ready(cb);
        });
      }
      ready(function () {
        ref.parentNode.insertBefore(ss, before ? ref : ref.nextSibling);
      });
      var onloadcssdefined = function (cb) {
        var resolvedHref = ss.href;
        var i = sheets.length;
        while (i--) {
          if (sheets[i].href === resolvedHref) {
            return cb();
          }
        }
        setTimeout(function () {
          onloadcssdefined(cb);
        });
      };
      function loadCB() {
        if (ss.addEventListener) {
          ss.removeEventListener("load", loadCB);
        }
        ss.media = media || "all";
      }
      if (ss.addEventListener) {
        ss.addEventListener("load", loadCB);
      }
      ss.onloadcssdefined = onloadcssdefined;
      onloadcssdefined(loadCB);
      return ss;
    },

    // 从 butterfly 和 volantis 获得灵感
    loadScript: (src, opt) => new Promise((resolve, reject) => {
      var script = document.createElement('script');
      script.src = src;
      if (opt) {
        for (let key of Object.keys(opt)) {
          script[key] = opt[key]
        }
      } else {
        // 默认异步，如果需要同步，第二个参数传入 {} 即可
        script.async = true
      }
      script.onerror = reject
      script.onload = script.onreadystatechange = function() {
        const loadState = this.readyState
        if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
        script.onload = script.onreadystatechange = null
        resolve()
      }
      document.head.appendChild(script)
    }),

    // https://github.com/jerryc127/hexo-theme-butterfly
    jQuery: (fn) => {
      if (typeof jQuery === 'undefined') {
        stellar.loadScript(stellar.plugins.jQuery).then(fn)
      } else {
        fn()
      }
    }
  };
  stellar.github = 'https://github.com/xaoxuu/hexo-theme-stellar/tree/1.6.1';
  stellar.config = {
    date_suffix: {
      just: '刚刚',
      min: '分钟前',
      hour: '小时前',
      day: '天前',
      month: '个月前',
    },
  };

  // required plugins (only load if needs)
  stellar.plugins = {
    jQuery: 'https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.min.js',
    sitesjs: '/js/plugins/sites.js',
    friendsjs: '/js/plugins/friends.js',
  };

  // optional plugins
  if ('true' == 'true') {
    stellar.plugins.lazyload = Object.assign({"enable":true,"js":"https://cdn.jsdelivr.net/npm/vanilla-lazyload@17.3.1/dist/lazyload.min.js","transition":"blur"});
  }
  if ('true' == 'true') {
    stellar.plugins.swiper = Object.assign({"enable":true,"css":"https://unpkg.com/swiper@6/swiper-bundle.min.css","js":"https://unpkg.com/swiper@6/swiper-bundle.min.js"});
  }
  if ('' == 'true') {
    stellar.plugins.scrollreveal = Object.assign({"enable":null,"js":"https://cdn.jsdelivr.net/npm/scrollreveal@4.0.9/dist/scrollreveal.min.js","distance":"8px","duration":500,"interval":100,"scale":1});
  }
  if ('true' == 'true') {
    stellar.plugins.preload = Object.assign({"enable":true,"service":"flying_pages","instant_page":"https://cdn.jsdelivr.net/gh/volantis-x/cdn-volantis@4.1.2/js/instant_page.js","flying_pages":"https://cdn.jsdelivr.net/gh/gijo-varghese/flying-pages@2.1.2/flying-pages.min.js"});
  }
  if ('true' == 'true') {
    stellar.plugins.fancybox = Object.assign({"enable":true,"js":"https://cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.umd.js","css":"https://cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.css","comment":{"enable":true,"selector":null}});
  }
</script>

<!-- required -->

  
<script src="/js/main.js" async></script>



<!-- optional -->

  <script>
  function loadBeaudar() {
    const els = document.querySelectorAll("#comments #beaudar");
    if (els.length === 0) return;
    els.forEach((el, i) => {
      try {
        el.innerHTML = '';
      } catch (error) {
        console.log(error);
      }
      var script = document.createElement('script');
      script.src = 'https://beaudar.lipk.org/client.js';
      script.async = true;
      for (let key of Object.keys(el.attributes)) {
        let attr = el.attributes[key];
        if (['class', 'id'].includes(attr.name) === false) {
          script.setAttribute(attr.name, attr.value);
        }
      }
      el.appendChild(script);
    });
  }
  window.addEventListener('DOMContentLoaded', (event) => {
      loadBeaudar();
  });
</script>




<!-- inject -->


  </div>
</body>
</html>
